package com.nineclock.sign.service;


import com.nineclock.common.entity.PageResult;
import com.nineclock.sign.dto.SignInfoAllDTO;
import com.nineclock.sign.dto.SignInfoDTO;
import com.nineclock.sign.dto.SignPageDTO;

import java.io.IOException;
import java.util.List;

public interface SignInfoService {
    /**
     * APP: 获取当前用户当天签到次数
     */
    Integer getDayCount();


    /**
     * APP: 查询本月签到记录
     * @return
     */
//    List<SignInfoDTO> pagingSignCurrentUserByMonth();


    /**
     * 接口名称：APP: 查询本月签到记录
     * 接口路径：GET/sign/pagingSignCurrentUserByMonth
     */
    List<SignInfoDTO> pagingSignCurrentUserByMonth(String dateStr);

    /**
     * 接口名称：APP: 获取团队员工打卡列表
     * 接口路径：GET/sign/listSignAllUser
     */
    List<SignInfoAllDTO> listSignAllUser(String dateStr);

    /**
     * APP: 签到
     *
     * @param signInfoDTO
     * @return
     */
    void insert(SignInfoDTO signInfoDTO);

    //PC: 查询签到列表
    PageResult<SignPageDTO> querySignInfoPage(String startTime, String endTime, Integer page, Integer pageSize);

    //PC: 导出签到列表
    void export(String startTime, String endTime) throws IOException;

}
